<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>绑定样式</title>
    <!-- 引入Vue -->
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <!-- 
        条件渲染：
            1.v-if
                写法：
                    · v-if="表达式"
                    · v-else-if="表达式"
                    · v-else="表达式"
                适用于：切换频率较低的场景。
                特点：不展示的DOM元素直接被移除。
                注意：v-if可以和：v-else-if、v-else一起使用，但要求结构不能被“打断”。

            2.v-show
                写法：v-show="表达式"
                适用于：切换频率较高的场景。
                特点：不展示的DOM元素未被移除，仅仅是使用样式隐藏掉。

            3.备注：使用v-if时，元素可能无法获取到，而使用v-show一定可以获取到。
     -->
    <!-- 准备好一个容器 -->
    <div id="root">
        <h2>当前的n值是：{{n}}</h2>
        <button @click="n++">点我n+1</button><br><br>

        <!-- 使用v-show做条件渲染 -->
        <!-- <h2 v-show="false">欢迎来到{{name}}</h2> -->
        <!-- <h2 v-show="1 === 2">欢迎来到{{name}}</h2> -->
        <!-- <h2 v-show="a">欢迎来到{{name}}</h2> -->

        <!-- 使用v-if做条件渲染 -->
        <!-- <h2 v-if="false">欢迎来到{{name}}</h2> -->
        <!-- <h2 v-if="1===1">欢迎来到{{name}}</h2> -->

        <!-- 
            如果切换频率高，用v-show，因为它只是动态的隐藏和显示，节点都还在。
            如果用v-if，它不断地在dom里面添一个节点删一个节点，存在一定的效率上的问题。
        -->
        <!-- <div v-show="n === 1">Angular</div>
        <div v-show="n === 2">React</div>
        <div v-show="n === 3">Vue</div> -->

        <!-- 
            v-else和v-else-if，此时中间不允许打断，如：
                <div v-if="n === 1">Angular</div>
                <div>@</div>
                <div v-else-if="n === 1">React</div>
            这时后面的就不起作用了，因为中间有一个div打断了。
         -->
        <!-- <div v-if="n === 1">Angular</div>
        <div v-else-if="n === 1">React</div>
        <div v-else-if="n === 3">Vue</div>
        <div v-else>哈哈</div> -->

        <!-- template只能配合v-if使用，它不影响结构，页面结构里不会出现 -->
        <template v-if="n === 1">
            <h2>北京</h2>
            <h2>你好</h2>
            <h2>尚硅谷</h2>
        </template>
    </div>
    
    <script type="text/javascript">
        Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。

        const vm = new Vue({
            el:'#root',
            data:{
                name:'尚硅谷',
                a:false,
                n:0
            },
        })
    </script>
</body>
</html>